package com.sc.dal.dto.order;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @ClassName: TSaleOrderDetails
 * @Description: T+销售订单明细
 * @author LeiJia
 * @date 2017年34月17日上午11：10:44
 * @version V1.0
 */
public class TSaleOrderDetails implements Serializable {

	private static final long serialVersionUID = 6435397484453412301L;

	private TInventory Inventory;// {Code: "001"},
	private TUnit Unit;// {Name:"个"},
	private int Quantity;// 5,
	private BigDecimal OrigPrice;// 6.4, // 1、报价,decimal类型
									// 2、对于线上业务系统，对应网上订单商品的标价
	private BigDecimal DiscountRate; // 折扣率,decimal类型 默认为表头整单折扣
	private BigDecimal OrigDiscountPrice;//	
	//1、原币单价,decimal类型
	//3、当所有价格信息（原币含税金额、原币金额、原币含税单价、原币单价）都为空时，按价格策略执行
	//4、当有价格信息时，金额信息优先单价信息，含税信息优先于不含税信息。即按含税金额、金额、含税单价、单价的顺序判断是否有值，按第一个有值的，走相应的改变算法计算其它值
	private BigDecimal TaxRate; //		1、税率,decimal类型
	//2、销货单票据类型为“收据”时，税率默认为0。
	private BigDecimal  OrigTaxPrice ; // 1、原币含税单价,decimal类型
	//5、当所有价格信息（原币含税金额、原币金额、原币含税单价、原币单价）都为空时，按价格策略执行
	//6、当有价格信息时，金额信息优先单价信息，含税信息优先于不含税信息。即按含税金额、金额、含税单价、单价的顺序判断是否有值，按第一个有值的，走相应的改变算法计算其它值
	private BigDecimal OrigDiscountAmount; //	
	//7、原币金额,decimal类型
	//8、当所有价格信息（原币含税金额、原币金额、原币含税单价、原币单价）都为空时，按价格策略执行
	//9、当有价格信息时，金额信息优先单价信息，含税信息优先于不含税信息。即按含税金额、金额、含税单价、单价的顺序判断是否有值，按第一个有值的，走相应的改变算法计算其它值
    private BigDecimal OrigTax;
    private BigDecimal OrigTaxAmount;
    private BigDecimal OrigDiscount; //1、原币折扣额,decimal类型
	private boolean IsPresent;// 1、是否赠品，bool类型 2、为true时是赠品，为false时是非赠品
	private Object[] DynamicPropertyKeys;// ["priuserdefnvc1","priuserdefdecm1"],
	private Object[] DynamicPropertyValues;// ["sn001","123"]

	public BigDecimal getDiscountRate() {
		return DiscountRate;
	}

	public void setDiscountRate(BigDecimal discountRate) {
		DiscountRate = discountRate;
	}

	public boolean isIsPresent() {
		return IsPresent;
	}

	public void setIsPresent(boolean isPresent) {
		IsPresent = isPresent;
	}
	
	public TInventory getInventory() {
		return Inventory;
	}

	public void setInventory(TInventory inventory) {
		Inventory = inventory;
	}

	public TUnit getUnit() {
		return Unit;
	}

	public void setUnit(TUnit unit) {
		Unit = unit;
	}

	public int getQuantity() {
		return Quantity;
	}

	public void setQuantity(int quantity) {
		Quantity = quantity;
	}

	public BigDecimal getOrigPrice() {
		return OrigPrice;
	}

	public void setOrigPrice(BigDecimal origPrice) {
		OrigPrice = origPrice;
	}

	public Object[] getDynamicPropertyKeys() {
		return DynamicPropertyKeys;
	}

	public void setDynamicPropertyKeys(Object[] dynamicPropertyKeys) {
		DynamicPropertyKeys = dynamicPropertyKeys;
	}

	public Object[] getDynamicPropertyValues() {
		return DynamicPropertyValues;
	}

	public void setDynamicPropertyValues(Object[] dynamicPropertyValues) {
		DynamicPropertyValues = dynamicPropertyValues;
	}

	public BigDecimal getOrigDiscountPrice() {
		return OrigDiscountPrice;
	}

	public void setOrigDiscountPrice(BigDecimal origDiscountPrice) {
		OrigDiscountPrice = origDiscountPrice;
	}

	public BigDecimal getTaxRate() {
		return TaxRate;
	}

	public void setTaxRate(BigDecimal taxRate) {
		TaxRate = taxRate;
	}

	public BigDecimal getOrigTaxPrice() {
		return OrigTaxPrice;
	}

	public void setOrigTaxPrice(BigDecimal origTaxPrice) {
		OrigTaxPrice = origTaxPrice;
	}

	public BigDecimal getOrigDiscountAmount() {
		return OrigDiscountAmount;
	}

	public void setOrigDiscountAmount(BigDecimal origDiscountAmount) {
		OrigDiscountAmount = origDiscountAmount;
	}

	public BigDecimal getOrigTax() {
		return OrigTax;
	}

	public void setOrigTax(BigDecimal origTax) {
		OrigTax = origTax;
	}

	public BigDecimal getOrigTaxAmount() {
		return OrigTaxAmount;
	}

	public void setOrigTaxAmount(BigDecimal origTaxAmount) {
		OrigTaxAmount = origTaxAmount;
	}

	public BigDecimal getOrigDiscount() {
		return OrigDiscount;
	}

	public void setOrigDiscount(BigDecimal origDiscount) {
		OrigDiscount = origDiscount;
	}
	

}
